export interface User {
  id: number
  nickname: string
  avatar_url?: string
  vip_level: number
  daily_quota: number
  used_quota: number
  created_at?: string
}

export interface StyleTemplate {
  id: number
  name: string
  description?: string
  category: string
  positive_prompt: string
  negative_prompt: string
  preview_image_url?: string
  thumbnail_url?: string
  recommended_width: number
  recommended_height: number
  recommended_steps: number
  recommended_cfg_scale: number
  is_premium: boolean
  usage_count: number
  created_at?: string
}

export interface ImageTask {
  id: string
  user_id: number
  status: 'pending' | 'processing' | 'completed' | 'failed'
  progress: number
  original_image_url: string
  generated_image_url?: string
  positive_prompt?: string
  negative_prompt?: string
  custom_prompt?: string
  ai_model?: string
  width: number
  height: number
  steps: number
  cfg_scale: number
  error_message?: string
  created_at?: string
  started_at?: string
  completed_at?: string
  style_template?: StyleTemplate
}

export interface AIConfig {
  id: number
  name: string
  provider: string
  model_name: string
  model_version?: string
  is_active: boolean
  is_default: boolean
  priority: number
  health_status: string
  response_time?: number
  error_rate: number
}

export interface Category {
  key: string
  name: string
  count: number
}

export interface ApiResponse<T = any> {
  success: boolean
  message: string
  data?: T
  error?: string
}

export interface PaginatedResponse<T> {
  items: T[]
  total: number
  page: number
  per_page: number
  pages: number
  has_next: boolean
  has_prev: boolean
}

// Vant UI 相关类型定义
export interface UploaderFileListItem {
  url?: string
  file?: File
  content?: string
  isImage?: boolean
  status?: '' | 'uploading' | 'done' | 'failed'
  message?: string
}